﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using SoftHotel.Models;

namespace SoftHotel.Controllers
{
    public class DCController : Controller
    {
        //
        // GET: /DC/
        static DocCompraDAO listadocbusqueda = new DocCompraDAO();
        static DocCompraDAO listadoc = new DocCompraDAO();
        static List<DocCompraModel> busquedax;
        static List<DocumentoCompra> busquedax2;
        static DCDAO dcDAO = new DCDAO();
        public static DocumentoCompra DOCCOM = new DocumentoCompra();
        static int idDC = 0;
        public ActionResult Index()
        {
            return View();
        }
        [HttpPost]
        public ActionResult Index(DocCompraModel dc, string button)
        {

            if (button == "Buscar")
            {
                busquedax2 = listadoc.buscar2(dc);
                listadocbusqueda.dbuscadis2 = busquedax2;
            }
            if (button == "Nuevo") button = "Agregar";
            return RedirectToAction(button, "DC");
        }
        public ActionResult Detalle(string descripcion)
        {
            DocumentoCompra DComp = listadoc.buscar3(descripcion);

            DComp.listProd = (new OrdenCompraDAO()).ObtenerProductosXDC(DComp);
            return View(DComp);
        }
        public ActionResult Buscar()
        {

            return View(listadocbusqueda);
        }
        public ActionResult Agregar()
        {
            ViewBag.TipoDoc = dcDAO.ObtenerTipos("TIPO_DC");

            ViewBag.OCs = new SelectList(dcDAO.obtenerOCs(), "Value", "Text");
            return View();
        }
        [HttpPost]
        public ActionResult Agregar(DocumentoCompra dc, string button)
        {
            if (button == "Cancelar")
            {
                return RedirectToAction("Index", "DC");
            }
            if (button == "Registrar" )
            {
                idDC = dcDAO.Guardar(dc);
                return RedirectToAction("Agregar2", "DC"); ;
            }
            ViewBag.OCs = dcDAO.obtenerOCs();
            ViewBag.TipoDoc = dcDAO.ObtenerTipos("TIPO_DC");

            return View();
        }
        public ActionResult Agregar2()
        {
            string sid = idDC.ToString();
            DocumentoCompra DC = dcDAO.buscarByID(sid);
            DC.listProd = (new OrdenCompraDAO()).ObtenerProductosXDC(DC);
            return View(DC);
        }
        /*
        public ActionResult Agregar2(string id)
        {
            ordenCompra.Proveedor = id;
            ViewBag.Hoteles = ocDAO.ObtenerHoteles();
            ViewBag.Monedas = ocDAO.ObtenerTipos("MONEDA_OC");
            ViewBag.FormaPagos = ocDAO.ObtenerTipos("FORMA_PAGO_OC");
            ViewBag.Prioridades = ocDAO.ObtenerTipos("PRIORIDAD_OC");
            ViewBag.Proveedores = ocDAO.ObtenerProveedores();
            ViewBag.Productos = ocDAO.ObtenerProductosXProveedor(id);
            ordenCompra.productos = new List<ProductoModel>() { };
            ViewBag.listaProductos = ordenCompra.productos;
            return View(ordenCompra);
        }
        [HttpPost]
        public ActionResult Agregar2(OrdenCompra oc, string button)
        {
            ordenCompra.precioProducto = oc.precioProducto;
            ordenCompra.cantidadProducto = oc.cantidadProducto;
            ordenCompra.nombreProducto = oc.nombreProducto;
            ordenCompra.Sede = oc.Sede;
            ordenCompra.Moneda = oc.Moneda;
            ordenCompra.FormaPago = oc.FormaPago;
            ordenCompra.Proveedor = oc.Proveedor;
            ordenCompra.Prioridad = oc.Prioridad;
            ordenCompra.FechaEntrega = oc.FechaEntrega;
            //string mensaje = "";
            //bool esta = ocDAO.esta(prod.descripcion);
            //if (esta) mensaje = "El producto ya esta agregado";
            if (button == "Añadir" && ModelState.IsValid /*&& !listaprod.esta(prod.descripcion) && esta == false)
            {
                ocDAO.Add(ordenCompra);
            }
            else if (button == "Guardar" && ModelState.IsValid)
            {
                ocDAO.Guardar(ordenCompra);
                return RedirectToAction("Index", "OrdenCompra"); ;
            }
            else if (button == "Cancelar")
            {
                return RedirectToAction("Index", "OrdenCompra");
            }
            //ViewBag.mensaje = mensaje;

            ViewBag.Hoteles = ocDAO.ObtenerHoteles();
            ViewBag.Monedas = ocDAO.ObtenerTipos("MONEDA_OC");
            ViewBag.FormaPagos = ocDAO.ObtenerTipos("FORMA_PAGO_OC");
            ViewBag.Prioridades = ocDAO.ObtenerTipos("PRIORIDAD_OC");
            ViewBag.Proveedores = ocDAO.ObtenerProveedores();
            ViewBag.Productos = ocDAO.ObtenerProductosXProveedor(oc.Id);
            ViewBag.listaProductos = ordenCompra.productos;
            return View(ordenCompra);
        }*/
    }
}
